-
Notifications
You must be signed in to change notification settings - Fork 9.8k
Conversation
This is interesting. What version of Flutter does it test against? |
@Hixie it uses BTW |
We ship new versions of Flutter multiple times a week. I am worried about using a mechanism that is tied to a particular version. We care about testing against the latest version. |
Fair point. Added Ideally at some point we can work on continuously pushing Docker image for Flutter and having up-to-date |
I'll be able to give this more thought after Feb 28. But I'm curious how well-trodden the Emulator/Simulator path is on Cirrus CI. This repository contains lots of Objective-C and Java code that need to be tested in either a simulated environment or real devices. Travis does not make it easy to test in emulators. |
These images can run an Android emulator. Unfortunately it won't have hardware acceleration since it's a Dockerized environment but, to my knowledge, no hosted CI has hardware accelerated emulators at the moment. Internally we have a design proposal on how to securely add such accelerated emulators but there are other priorities at the moment like adding Mac OS support. Have a great vacation and let's revisit this PR once you are back 🙌 |
As described in https://cirrus-ci.org/examples/#flutter
Ok I've landed this and turned on Cirrus CI! Let's see how it goes! |
Thank you, @Hixie! Please let me know about any feedback and feel free to tag me on PRs for questions. |
* commit 'a404fbfd4842b51b57bc0c6298604cf5674e2c02': (40 commits) Update README.md (flutter#430) Updated to 0.5.0 (flutter#428) AdSizes for AdMob banner ads (flutter#402) bump minor version and add changelog entry (flutter#427) add fetchProvidersForEmail wrapper (flutter#410) Incremental Build Script (flutter#422) add runtime permission requests for external storage and camera (flutter#424) Fix Dart 2 type error and deprecation (flutter#425) Fix a Dart 2 runtime cast failure in firebase_database test (flutter#419) Fixed deprecation warnings (flutter#420) Fix Dart 2 runtime error in the camera plugin (flutter#417) Always use the latest Flutter available (flutter#415) Spelling (flutter#411) Configure Flutter CI (flutter#383) Set SDK constraints to match Flutter beta (flutter#412) Remove Gradle artifacts from repo (flutter#414) Google maps plugin stub (flutter#405) Allow null document snapshot data when document does not exist (flutter#406) Fix new formatting errors (flutter#408) Fix url_launcher for iOS <10 (flutter#407) ...
* Configured Cirrus CI As described in https://cirrus-ci.org/examples/#flutter * Use Flutter 0.1.0 * always upgrade Flutter to the latest master * removed pub cache to always to test against the latest version of libraries * always use the latest available Flutter image * no upgrade
Cirrus CI recently added Flutter support by providing Docker images with Flutter pre-installed. It allows to avoid boilerplate of setting up an environment which makes it possible to start tests execution in a few hundred milliseconds from the moment a change is pushed to GitHub.
For this repository particularly I've seen CI times from 12 to 15 minutes for the longest part of the build (building apks). It's 2 to 3 times faster comparing to the current CI setup.
Unfortunately
flutter_plugin_tools
can't run things in parallel and take advantage of up to 8 cores that Cirrus CI can provide.Here is a build for that particular change:
I was testing Flutter support on this repository and decided to share the results. Feel free to close the PR if not interested in a better CI. Didn't want to waste my work 😅
In case you will merge the PR. Don't forget to install Cirrus CI application from Github Marketplace as described in Quick Start guide.